Modernly, power management support is available in current PC (Personal Computer) notebooks and desktops conformant with ACPI (Advanced Configuration Power Interface) techniques which are well known in the art. ACPI based implementations are a form of OSPM (Operating System Power Management or sometimes Operating System Power Management Policy).
OSPM uses ACPI services which are based on BIOS (Basic Input-Output System) control. Some (typically older) ACPI services are linked to Fixed HW (hardware) registers in I/O (input-output) address space—as contrasted with MM (memory mapped) address space. FFH (functional fixed hardware) is a combination of hardware with software and firmware that, taken together, provides a number of services in conformance with the ACPI specification. Power management in ACPI OSPM systems is invariably implemented by means of FSM (Finite State Machines) as are well in the ACPI arts.
ACPI OSPM does not generally take account of, nor provide for virtualized OS (operating systems), two or more of which may coexist in a hypervisor environment. Support for rich OS features in multiple VMs (Virtual Machines) is limited. This situation provides an implementation challenge (and opportunity) for hypervisors since the underlying assumption made by a typical single OS that it may safely and properly take overarching control of the hardware resources (especially as related to power management) is thereby invalidated.
Moreover, it will never be entirely satisfactory for the power and energy environment of the underlying platform to be virtualized to each OS (operating system) nor for each OS to be allowed mere pass-through access to hardware. In the former case OS efforts at power and energy management may be wasted and in the latter case the two operating systems can be expected to interfere one with the other. For example it would clearly be at least wasteful if not error inducing for a first OS to spin down a disk drive in order to save power while it is in actual use by a second OS for reading and/or writing data.
A need exists for an implementation approach that provides each of virtualized and non-virtualized hypervisor domains meaningful and useful participation in OSPM while retaining a sufficient measure of compatibility with ACPI module based implementations.